<!DOCTYPE html>
<html lang="zh">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>类</title>
    <script>
        `user strict`
        /* 
            使用Object创建对象的问题
                1.不能区分出不同类型的对象
                2.不方便批量创建对象

            在JS中，可以通过类（class）来解决这个问题
                类（class）
                    1.类是创建对象的模板，可以将对象中的属性和方法直接定义在类中
                        定义后就可以通过类来创建对象了。
                    2.通过同一个类创建的对象，我们称为同类对象
                    3.可以通过instanceof   来检查是否由某个类创建的
                    4.如果某个对象是某个类所创建，则我们称该对象是这个类的实例。

                    

                语法
                    class 类名{}       注意！类名使用大驼峰命名法。
                    const 类名 = class{}

                    如何通过类来创建对象？
                        new 类名()
        */

        class Person { }        // 专门用来创建Person类的对象
        // const Person = class { }
        const p1=new Person()        // 调用构造函数来创建对象
        const p2=new Person()

        class Dog { }       // 专门用来创建Dog类的对象
        const d1=new Dog() 

        console.log(Person, '----------------',typeof Person)
        console.log(`通过Person类新建的对象p1`,p1)      //p1,p2就是Person类的实例
        console.log(`通过Person类新建的对象p2`,p2)
    
        console.log(p1,p2 instanceof Person)


        console.log(d1)
    </script>
</head>

<body>

</body>

</html>